Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


sbapp/kivymd/uix/chip/chip.py 2dcc759c88f3f2471ffcf6146721200a16aadede (2dcc759c) Text, 34.93 KB

T8b949e"""
Components/Chip
===============

.. seealso::

`Material Design spec, Chips <https://m3.material.io/components/chips/overview>`_

.. rubric:: Chips can show multiple interactive elements together in the same
area, such as a list of selectable movie times, or a series of email
contacts. There are four types of chips: assist, filter, input, and
suggestion.

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/chips.png
:align: center

Usage
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. tabs::

.. tab:: Declarative KV style

.. code-block:: python

from kivy.lang import Builder

from kivymd.app import MDApp

KV = '''
MDScreen:

MDChip:
pos_hint: {"center_x": .5, "center_y": .5}

MDChipText:
text: "MDChip"
'''


class Example(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
return Builder.load_string(KV)


Example().run()

.. tab:: Declarative Python style

.. code-block:: python

from kivymd.app import MDApp
from kivymd.uix.chip import MDChip, MDChipText
from kivymd.uix.screen import MDScreen


class Example(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
return (
MDScreen(
MDChip(
MDChipText(
text="MDChip"
),
pos_hint={"center_x": .5, "center_y": .5},
)
)
)


Example().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/chip.png
:align: center

Anatomy
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/anatomy-chip.png
:align: center

1. Container
2. Label text
3. Leading icon or image (optional)
4. Trailing remove icon (optional, input & filter chips only)

Container
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/radius-chip.png
:align: center

All chips are slightly rounded with an 8dp corner.

Shadows and elevation
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Chip containers can be elevated if the placement requires protection, such as
on top of an image.

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/shadows-elevation-chip.png
:align: center

The following types of chips are available:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/available-type-chips.png
:align: center

Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_ Assist_
Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_ Filter_
Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_ Input_
Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_ Suggestion_

.. Assist:
Assist
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

`Assist chips <https://m3.material.io/components/chips/guidelines#5dd1928c-1476-4029-bdc5-fde66fc0dcb1>`_
represent smart or automated actions that can span multiple apps, such as
opening a calendar event from the home screen. Assist chips function as
though the user asked an assistant to complete the action. They should appear
dynamically and contextually in a UI.

An alternative to assist chips are buttons, which should appear persistently
and consistently.

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/assist-chip.png
:align: center

Example of assist
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. code-block:: python

from kivy.lang import Builder

from kivymd.app import MDApp

KV = '''
<CommonLabel@MDLabel>
adaptive_size: True
theme_text_color: "Custom"
text_color: "#e6e9df"


<CommonAssistChip@MDChip>
# Custom attribute.
text: ""
icon: ""

# Chip attribute.
type: "assist"
md_bg_color: "#2a3127"
line_color: "grey"
elevation: 1
shadow_softness: 2

MDChipLeadingIcon:
icon: root.icon
theme_text_color: "Custom"
text_color: "#68896c"

MDChipText:
text: root.text
theme_text_color: "Custom"
text_color: "#e6e9df"


MDScreen:

FitImage:
source: "bg.png"

MDBoxLayout:
orientation: "vertical"
adaptive_size: True
pos_hint: {"center_y": .6, "center_x": .5}

CommonLabel:
text: "in 10 mins"
bold: True
pos_hint: {"center_x": .5}

CommonLabel:
text: "Therapy with Thea"
font_style: "H3"
padding_y: "12dp"

CommonLabel:
text: "Video call"
font_style: "H5"
pos_hint: {"center_x": .5}

MDBoxLayout:
adaptive_size: True
pos_hint: {"center_x": .5}
spacing: "12dp"
padding: 0, "24dp", 0, 0

CommonAssistChip:
text: "Home office"
icon: "map-marker"

CommonAssistChip:
text: "Chat"
icon: "message"

MDWidget:
'''


class Example(MDApp):
def build(self):
self.theme_cls.primary_palette = "Teal"
self.theme_cls.theme_style = "Dark"
return Builder.load_string(KV)


Example().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/example-assist-chip.png
:align: center

.. Filter:
Filter
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

`Filter chips <https://m3.material.io/components/chips/guidelines#8d453d50-8d8e-43aa-9ae3-87ed134d2e64>`_
use tags or descriptive words to filter content. They can be a good alternative
to toggle buttons or checkboxes.

Tapping on a filter chip activates it and appends a leading checkmark icon to
the starting edge of the chip label.

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/filter-chip.png
:align: center

Example of filtering
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. code-block:: python

from kivy.lang import Builder
from kivy.properties import StringProperty, ListProperty

from kivymd.app import MDApp
from kivymd.uix.chip import MDChip, MDChipText
from kivymd.uix.list import OneLineIconListItem
from kivymd.icon_definitions import md_icons
from kivymd.uix.screen import MDScreen
from kivymd.utils import asynckivy

Builder.load_string(
'''
<CustomOneLineIconListItem>

IconLeftWidget:
icon: root.icon


<PreviewIconsScreen>

MDBoxLayout:
orientation: "vertical"
spacing: "14dp"
padding: "20dp"

MDTextField:
id: search_field
hint_text: "Search icon"
mode: "rectangle"
icon_left: "magnify"
on_text: root.set_list_md_icons(self.text, True)

MDBoxLayout:
id: chip_box
spacing: "12dp"
adaptive_height: True

RecycleView:
id: rv
viewclass: "CustomOneLineIconListItem"
key_size: "height"

RecycleBoxLayout:
padding: dp(10)
default_size: None, dp(48)
default_size_hint: 1, None
size_hint_y: None
height: self.minimum_height
orientation: "vertical"
'''
)
class CustomOneLineIconListItem(OneLineIconListItem):
icon = StringProperty()
class PreviewIconsScreen(MDScreen):
filter = ListProperty() # list of tags for filtering icons
def set_filter_chips(self):
'''Asynchronously creates and adds chips to the container.'''
async def set_filter_chips():
for tag in ["Outline", "Off", "On"]:
await asynckivy.sleep(0)
chip = MDChip(
MDChipText(
text=tag,
),
type="filter",
md_bg_color="#303A29",
)
chip.bind(active=lambda x, y, z=tag: self.set_filter(y, z))
self.ids.chip_box.add_widget(chip)
asynckivy.start(set_filter_chips())

def set_filter(self, active: bool, tag: str) -> None:
'''Sets a list of tags for filtering icons.'''

if active:
self.filter.append(tag)
else:
self.filter.remove(tag)

def set_list_md_icons(self, text="", search=False) -> None:
'''Builds a list of icons.'''

def add_icon_item(name_icon):
self.ids.rv.data.append(
{
"icon": name_icon,
"text": name_icon,
}
)

self.ids.rv.data = []
for name_icon in md_icons.keys():
for tag in self.filter:
if tag.lower() in name_icon:
if search:
if text in name_icon:
add_icon_item(name_icon)
else:
add_icon_item(name_icon)


class Example(MDApp):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.screen = PreviewIconsScreen()

def build(self) -> PreviewIconsScreen:
self.theme_cls.theme_style = "Dark"
self.theme_cls.primary_palette = "LightGreen"
return self.screen

def on_start(self) -> None:
self.screen.set_list_md_icons()
self.screen.set_filter_chips()


Example().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/example-filtering-icons-chip.gif
:align: center

Tap a chip to select it. Multiple chips can be selected or unselected:

.. code-block:: python

from kivy.lang import Builder

from kivymd.app import MDApp
from kivymd.uix.chip import MDChip, MDChipText
from kivymd.uix.screen import MDScreen
from kivymd.utils import asynckivy

Builder.load_string(
'''
<ChipScreen>

MDBoxLayout:
orientation: "vertical"
spacing: "14dp"
padding: "20dp"

MDLabel:
adaptive_height: True
text: "Select Type"

MDStackLayout:
id: chip_box
spacing: "12dp"
adaptive_height: True

MDWidget:

MDFlatButton:
text: "Uncheck chips"
pos: "20dp", "20dp"
on_release: root.unchecks_chips()
'''
)


class ChipScreen(MDScreen):
async def create_chips(self):
'''Asynchronously creates and adds chips to the container.'''

for tag in ["Extra Soft", "Soft", "Medium", "Hard"]:
await asynckivy.sleep(0)
self.ids.chip_box.add_widget(
MDChip(
MDChipText(
text=tag,
),
type="filter",
md_bg_color="#303A29",
active=True,
)
)

def unchecks_chips(self) -> None:
'''Removes marks from all chips.'''

for chip in self.ids.chip_box.children:
if chip.active:
chip.active = False


class Example(MDApp):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.screen = ChipScreen()

def build(self) -> ChipScreen:
self.theme_cls.theme_style = "Dark"
self.theme_cls.primary_palette = "LightGreen"
return self.screen

def on_start(self) -> None:
asynckivy.start(self.screen.create_chips())


Example().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/example-filtering-icons-chip-2.gif
:align: center

Alternatively, a single chip can be selected.
This offers an alternative to toggle buttons, radio buttons, or single select
menus:

.. code-block:: python

from kivy.lang import Builder

from kivymd.app import MDApp
from kivymd.uix.chip import MDChip, MDChipText
from kivymd.uix.screen import MDScreen
from kivymd.utils import asynckivy

Builder.load_string(
'''
<ChipScreen>

MDBoxLayout:
orientation: "vertical"
spacing: "14dp"
padding: "20dp"

MDLabel:
adaptive_height: True
text: "Select Type"

MDStackLayout:
id: chip_box
spacing: "12dp"
adaptive_height: True

MDFillRoundFlatButton:
text: "Add to cart"
md_bg_color: "green"
size_hint_x: 1

MDWidget:
'''
)


class ChipScreen(MDScreen):
async def create_chips(self):
'''Asynchronously creates and adds chips to the container.'''

for tag in ["Extra Soft", "Soft", "Medium", "Hard"]:
await asynckivy.sleep(0)
chip = MDChip(
MDChipText(
text=tag,
),
type="filter",
md_bg_color="#303A29",

)
chip.bind(active=self.uncheck_chip)
self.ids.chip_box.add_widget(chip)

def uncheck_chip(self, current_chip: MDChip, active: bool) -> None:
'''Removes a mark from an already marked chip.'''

if active:
for chip in self.ids.chip_box.children:
if current_chip is not chip:
if chip.active:
chip.active = False


class Example(MDApp):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.screen = ChipScreen()

def build(self) -> ChipScreen:
self.theme_cls.theme_style = "Dark"
self.theme_cls.primary_palette = "LightGreen"
return self.screen

def on_start(self) -> None:
asynckivy.start(self.screen.create_chips())


Example().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/example-filtering-single-select.gif
:align: center

.. Input:
Input
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

`Input chips <https://m3.material.io/components/chips/guidelines#4d2d5ef5-3fcd-46e9-99f2-067747b2393f>`_
represent discrete pieces of information entered by a user, such as Gmail
contacts or filter options within a search field.

They enable user input and verify that input by converting text into chips.

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/input-chip.png
:align: center

Example of input
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. code-block:: python

from kivy.lang import Builder

from kivymd.app import MDApp

KV = '''
MDScreen:

MDChip:
pos_hint: {"center_x": .5, "center_y": .5}
type: "input"
line_color: "grey"
_no_ripple_effect: True

MDChipLeadingAvatar:
source: "data/logo/kivy-icon-128.png"

MDChipText:
text: "MDChip"

MDChipTrailingIcon:
icon: "close"
'''


class Example(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
return Builder.load_string(KV)


Example().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/example-input-chip.png
:align: center

.. Suggestion:
Suggestion
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

`Suggestion chips <https://m3.material.io/components/chips/guidelines#36d7bb16-a9bf-4cf6-a73d-8e05510d66a7>`_
help narrow a user’s intent by presenting dynamically generated suggestions,
such as possible responses or search filters.

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/suggestion-chip.png
:align: center

Example of suggestion
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. code-block::

from kivy.lang import Builder

from kivymd.app import MDApp

KV = '''
MDScreen:

MDChip:
pos_hint: {"center_x": .5, "center_y": .5}
type: "suggestion"
line_color: "grey"

MDChipText:
text: "MDChip"
'''


class Example(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
return Builder.load_string(KV)


Example().run()

.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/example-suggestion.png
:align: center

API break
=========

1.1.1 version
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. code-block:: python

from kivy.lang import Builder

from kivymd.app import MDApp

KV = '''
MDScreen:

MDChip:
text: "Portland"
pos_hint: {"center_x": .5, "center_y": .5}
on_release: app.on_release_chip(self)
'''


class Test(MDApp):
def build(self):
return Builder.load_string(KV)

def on_release_chip(self, instance_check):
print(instance_check)


Test().run()

1.2.0 version
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.. code-block:: python

from kivy.lang import Builder

from kivymd.app import MDApp

KV = '''
MDScreen:

MDChip:
pos_hint: {"center_x": .5, "center_y": .5}
line_color: "grey"
on_release: app.on_release_chip(self)

MDChipText:
text: "MDChip"
'''


class Example(MDApp):
def build(self):
return Builder.load_string(KV)

def on_release_chip(self, instance_check):
print(instance_check)


Example().run()
"""

Tff7b72from T7ee787__future__ Tff7b72import Te6edf3annotations

Te6edf3__all__ Tff7b72= Tb4b4b4(
Ta5d6ff"Ta5d6ffMDChipTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffMDChipLeadingAvatarTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffMDChipLeadingIconTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffMDChipTrailingIconTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffMDChipTextTa5d6ff"Tb4b4b4,
Tb4b4b4)

Tff7b72import T7ee787os

Tff7b72from T7ee787kivy Tff7b72import Te6edf3Logger
Tff7b72from T7ee787kivyT7ee787.T7ee787animation Tff7b72import Te6edf3Animation
Tff7b72from T7ee787kivyT7ee787.T7ee787clock Tff7b72import Te6edf3Clock
Tff7b72from T7ee787kivyT7ee787.T7ee787lang Tff7b72import Te6edf3Builder
Tff7b72from T7ee787kivyT7ee787.T7ee787metrics Tff7b72import Te6edf3dp
Tff7b72from T7ee787kivyT7ee787.T7ee787properties Tff7b72import Tb4b4b4(
Te6edf3BooleanPropertyTb4b4b4,
Te6edf3ColorPropertyTb4b4b4,
Te6edf3OptionPropertyTb4b4b4,
Te6edf3StringPropertyTb4b4b4,
Te6edf3VariableListPropertyTb4b4b4,
Tb4b4b4)
Tff7b72from T7ee787kivyT7ee787.T7ee787uixT7ee787.T7ee787behaviors Tff7b72import Te6edf3ButtonBehavior

Tff7b72from T7ee787kivymd Tff7b72import Te6edf3uix_path
Tff7b72from T7ee787kivymdT7ee787.T7ee787material_resources Tff7b72import Te6edf3DEVICE_TYPE
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787behaviors Tff7b72import Tb4b4b4(
Te6edf3CircularRippleBehaviorTb4b4b4,
Te6edf3CommonElevationBehaviorTb4b4b4,
Te6edf3RectangularRippleBehaviorTb4b4b4,
Te6edf3ScaleBehaviorTb4b4b4,
Te6edf3TouchBehaviorTb4b4b4,
Tb4b4b4)
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787boxlayout Tff7b72import Te6edf3MDBoxLayout
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787label Tff7b72import Te6edf3MDIconTb4b4b4, Te6edf3MDLabel

Tff7b72with Tffa657openTb4b4b4(
Te6edf3osTff7b72.Td2a8ffpathTff7b72.Td2a8ffjoinTb4b4b4(Te6edf3uix_pathTb4b4b4, Ta5d6ff"Ta5d6ffchipTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffchip.kvTa5d6ff"Tb4b4b4)Tb4b4b4, Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"
Tb4b4b4) Tff7b72as Te6edf3kv_fileTb4b4b4:
Te6edf3BuilderTff7b72.Td2a8ffload_stringTb4b4b4(Te6edf3kv_fileTff7b72.Td2a8ffreadTb4b4b4(Tb4b4b4)Tb4b4b4)


Tff7b72class T56d364BaseChipIconTb4b4b4(
Te6edf3CircularRippleBehaviorTb4b4b4, Te6edf3ScaleBehaviorTb4b4b4, Te6edf3ButtonBehaviorTb4b4b4, Te6edf3MDIcon
Tb4b4b4)Tb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)Tb4b4b4:
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ff__init__Tb4b4b4(Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffripple_scale Tff7b72= T79c0ff1.5
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Tff7b72selfTff7b72.Td2a8ffadjust_icon_sizeTb4b4b4)

Tff7b72def Td2a8ffadjust_icon_sizeTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e# If the user has not changed the icon size, then we set the standard
T8b949e# icon size according to the standards of material design version 3.
Tff7b72if Tb4b4b4(
Tff7b72selfTff7b72.Td2a8fffont_name Tff7b72== Ta5d6ff"Ta5d6ffIconsTa5d6ff"
Tff7b72and Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8fffont_stylesTb4b4b4[Ta5d6ff"Ta5d6ffIconTa5d6ff"Tb4b4b4]Tb4b4b4[T79c0ff1Tb4b4b4] Tff7b72== Tff7b72selfTff7b72.Td2a8fffont_size
Tb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8fffont_size Tff7b72= Tb4b4b4(
Ta5d6ff"Ta5d6ff18spTa5d6ff"
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffsource Tff7b72and Tff7b72not Tffa657isinstanceTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3MDChipLeadingAvatarTb4b4b4)
Tff7b72else Ta5d6ff"Ta5d6ff24spTa5d6ff"
Tb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffsource Tff7b72and Tffa657isinstanceTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3MDChipLeadingAvatarTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8fficon Tff7b72= Tff7b72selfTff7b72.Td2a8ffsource
Tff7b72selfTff7b72.Td2a8ff_size Tff7b72= Tb4b4b4[Te6edf3dpTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4, Te6edf3dpTb4b4b4(T79c0ff28Tb4b4b4)Tb4b4b4]
Tff7b72selfTff7b72.Td2a8fffont_size Tff7b72= Ta5d6ff"Ta5d6ff28spTa5d6ff"
Tff7b72selfTff7b72.Td2a8ffpadding_x Tff7b72= Ta5d6ff"Ta5d6ff6dpTa5d6ff"
Tff7b72selfTff7b72.Td2a8ff_no_ripple_effect Tff7b72= Tff7b72True


Tff7b72class T56d364LabelTextContainerTb4b4b4(Te6edf3MDBoxLayoutTb4b4b4)Tb4b4b4:
T8b949e"""Implements a container for the chip label."""


Tff7b72class T56d364LeadingIconContainerTb4b4b4(Te6edf3MDBoxLayoutTb4b4b4)Tb4b4b4:
T8b949e"""Implements a container for the leading icon."""


Tff7b72class T56d364TrailingIconContainerTb4b4b4(Te6edf3MDBoxLayoutTb4b4b4)Tb4b4b4:
T8b949e"""Implements a container for the trailing icon."""


Tff7b72class T56d364MDChipLeadingAvatarTb4b4b4(Te6edf3BaseChipIconTb4b4b4)Tb4b4b4:
T8b949e"""
Implements the leading avatar for the chip.

For more information, see in the
:class:`~kivymd.uix.behaviors.CircularRippleBehavior` and
:class:`~kivymd.uix.behaviors.ScaleBehavior` and
:class:`~kivy.uix.behaviors.ButtonBehavior` and
:class:`~kivymd.uix.label.MDIcon`
classes documentation.
"""


Tff7b72class T56d364MDChipLeadingIconTb4b4b4(Te6edf3BaseChipIconTb4b4b4)Tb4b4b4:
T8b949e"""
Implements the leading icon for the chip.

For more information, see in the
:class:`~kivymd.uix.behaviors.CircularRippleBehavior` and
:class:`~kivymd.uix.behaviors.ScaleBehavior` and
:class:`~kivy.uix.behaviors.ButtonBehavior` and
:class:`~kivymd.uix.label.MDIcon`
classes documentation.
"""


Tff7b72class T56d364MDChipTrailingIconTb4b4b4(Te6edf3BaseChipIconTb4b4b4)Tb4b4b4:
T8b949e"""
Implements the trailing icon for the chip.

For more information, see in the
:class:`~kivymd.uix.behaviors.CircularRippleBehavior` and
:class:`~kivymd.uix.behaviors.ScaleBehavior` and
:class:`~kivy.uix.behaviors.ButtonBehavior` and
:class:`~kivymd.uix.label.MDIcon`
classes documentation.
"""


Tff7b72class T56d364MDChipTextTb4b4b4(Te6edf3MDLabelTb4b4b4)Tb4b4b4:
T8b949e"""
Implements the label for the chip.

For more information, see in the
:class:`~kivymd.uix.label.MDLabel` classes documentation.
"""


Tff7b72class T56d364MDChipTb4b4b4(
Te6edf3MDBoxLayoutTb4b4b4,
Te6edf3RectangularRippleBehaviorTb4b4b4,
Te6edf3ButtonBehaviorTb4b4b4,
Te6edf3CommonElevationBehaviorTb4b4b4,
Te6edf3TouchBehaviorTb4b4b4,
Tb4b4b4)Tb4b4b4:
T8b949e"""
Chip class.

For more information, see in the
:class:`~kivymd.uix.boxlayout.MDBoxLayout` and
:class:`~kivymd.uix.behaviors.RectangularRippleBehavior` and
:class:`~kivy.uix.behaviors.ButtonBehavior` and
:class:`~kivymd.uix.behaviors.CommonElevationBehavior` and
:class:`~kivymd.uix.behaviors.TouchBehavior`
classes documentation.
"""

Te6edf3radius Tff7b72= Te6edf3VariableListPropertyTb4b4b4(Tb4b4b4[Te6edf3dpTb4b4b4(T79c0ff8Tb4b4b4)Tb4b4b4]Tb4b4b4, Te6edf3lengthTff7b72=T79c0ff4Tb4b4b4)
T8b949e"""
Chip radius.

:attr:`radius` is an :class:`~kivy.properties.VariableListProperty`
and defaults to `[dp(8), dp(8), dp(8), dp(8)]`.
"""

Te6edf3text Tff7b72= Te6edf3StringPropertyTb4b4b4(Te6edf3deprecatedTff7b72=Tff7b72TrueTb4b4b4)
T8b949e"""
Chip text.

.. deprecated:: 1.2.0

:attr:`text` is an :class:`~kivy.properties.StringProperty`
and defaults to `''`.
"""

Tffa657type Tff7b72= Te6edf3OptionPropertyTb4b4b4(
Ta5d6ff"Ta5d6ffsuggestionTa5d6ff"Tb4b4b4, Te6edf3optionsTff7b72=Tb4b4b4[Ta5d6ff"Ta5d6ffassistTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fffilterTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffinputTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffsuggestionTa5d6ff"Tb4b4b4]
Tb4b4b4)
T8b949e"""
Type of chip.

.. versionadded:: 1.2.0

Available options are: `'assist'`, `'filter'`, `'input'`, `'suggestion'`.

:attr:`type` is an :class:`~kivy.properties.OptionProperty`
and defaults to `'suggestion'`.
"""

Te6edf3icon_left Tff7b72= Te6edf3StringPropertyTb4b4b4(Te6edf3deprecatedTff7b72=Tff7b72TrueTb4b4b4)
T8b949e"""
Chip left icon.

.. versionadded:: 1.0.0

.. deprecated:: 1.2.0

:attr:`icon_left` is an :class:`~kivy.properties.StringProperty`
and defaults to `''`.
"""

Te6edf3icon_right Tff7b72= Te6edf3StringPropertyTb4b4b4(Te6edf3deprecatedTff7b72=Tff7b72TrueTb4b4b4)
T8b949e"""
Chip right icon.

.. versionadded:: 1.0.0

.. deprecated:: 1.2.0

:attr:`icon_right` is an :class:`~kivy.properties.StringProperty`
and defaults to `''`.
"""

Te6edf3text_color Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4, Te6edf3deprecatedTff7b72=Tff7b72TrueTb4b4b4)
T8b949e"""
Chip's text color in (r, g, b, a) or string format.

.. deprecated:: 1.2.0

:attr:`text_color` is an :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3icon_right_color Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4, Te6edf3deprecatedTff7b72=Tff7b72TrueTb4b4b4)
T8b949e"""
Chip's right icon color in (r, g, b, a) or string format.

.. versionadded:: 1.0.0

.. deprecated:: 1.2.0

:attr:`icon_right_color` is an :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3icon_left_color Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4, Te6edf3deprecatedTff7b72=Tff7b72TrueTb4b4b4)
T8b949e"""
Chip's left icon color in (r, g, b, a) or string format.

.. versionadded:: 1.0.0

.. deprecated:: 1.2.0

:attr:`icon_left_color` is an :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3icon_check_color Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
Chip's check icon color in (r, g, b, a) or string format.

.. versionadded:: 1.0.0

:attr:`icon_check_color` is an :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3active Tff7b72= Te6edf3BooleanPropertyTb4b4b4(Tff7b72FalseTb4b4b4)
T8b949e"""
Whether the check is marked or not.

.. versionadded:: 1.0.0

:attr:`active` is an :class:`~kivy.properties.BooleanProperty`
and defaults to `False`.
"""

Te6edf3selected_color Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e"""
The background color of the chip in the marked state in (r, g, b, a)
or string format.

.. versionadded:: 1.2.0

:attr:`selected_color` is an :class:`~kivy.properties.ColorProperty`
and defaults to `None`.
"""

Te6edf3_current_md_bg_color Tff7b72= Te6edf3ColorPropertyTb4b4b4(Tff7b72NoneTb4b4b4)
T8b949e# A flag that disallow ripple animation of the chip
T8b949e# at the time of clicking the chip icons.
Te6edf3_allow_chip_ripple Tff7b72= Te6edf3BooleanPropertyTb4b4b4(Tff7b72TrueTb4b4b4)
T8b949e# The flag signals the end of the ripple animation.
Te6edf3_anim_complete Tff7b72= Te6edf3BooleanPropertyTb4b4b4(Tff7b72FalseTb4b4b4)

Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4, Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)Tb4b4b4:
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ff__init__Tb4b4b4(Tff7b72*Te6edf3argsTb4b4b4, Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)

Tff7b72def Td2a8ffon_long_touchTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8fftype Tff7b72== Ta5d6ff"Ta5d6fffilterTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffactive Tff7b72= Tff7b72not Tff7b72selfTff7b72.Td2a8ffactive

Tff7b72def Td2a8ffon_typeTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3instanceTb4b4b4, Te6edf3valueTb4b4b4: Tffa657strTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""Called when the values of :attr:`type` change."""

Tff7b72def Td2a8ffadjust_paddingTb4b4b4(Tff7b72*Te6edf3argsTb4b4b4)Tb4b4b4:
T8b949e"""
According to the type of chip, it sets the margins according
to the specification of the material design version 3.
"""

Tff7b72selfTff7b72.Td2a8ffpadding Tff7b72= Tb4b4b4{
Ta5d6ff"Ta5d6ffinputTa5d6ff"Tb4b4b4: Tb4b4b4(
Ta5d6ff"Ta5d6ff12dpTa5d6ff"
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffleading_icon_containerTff7b72.Td2a8ffchildren
Tff7b72else Tb4b4b4(
Ta5d6ff"Ta5d6ff5dpTa5d6ff"
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffleading_icon_containerTff7b72.Td2a8ffchildrenTb4b4b4[
T79c0ff0
Tb4b4b4]Tff7b72.Td2a8ffsource
Tff7b72else Ta5d6ff"Ta5d6ff16dpTa5d6ff"
Tb4b4b4)Tb4b4b4,
T79c0ff0Tb4b4b4,
Ta5d6ff"Ta5d6ff4dpTa5d6ff"Tb4b4b4,
T79c0ff0Tb4b4b4,
Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffassistTa5d6ff"Tb4b4b4: Tb4b4b4(
Ta5d6ff"Ta5d6ff16dpTa5d6ff"
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffleading_icon_containerTff7b72.Td2a8ffchildren
Tff7b72else Ta5d6ff"Ta5d6ff8dpTa5d6ff"Tb4b4b4,
T79c0ff0Tb4b4b4,
Ta5d6ff"Ta5d6ff16dpTa5d6ff"
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffleading_icon_containerTff7b72.Td2a8ffchildren
Tff7b72else Ta5d6ff"Ta5d6ff8dpTa5d6ff"Tb4b4b4,
T79c0ff0Tb4b4b4,
Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffsuggestionTa5d6ff"Tb4b4b4: Tb4b4b4(
Ta5d6ff"Ta5d6ff16dpTa5d6ff"
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffleading_icon_containerTff7b72.Td2a8ffchildren
Tff7b72else Ta5d6ff"Ta5d6ff8dpTa5d6ff"Tb4b4b4,
T79c0ff0Tb4b4b4,
Ta5d6ff"Ta5d6ff16dpTa5d6ff"Tb4b4b4,
T79c0ff0Tb4b4b4,
Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6fffilterTa5d6ff"Tb4b4b4: Tb4b4b4(
Ta5d6ff"Ta5d6ff16dpTa5d6ff"
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffleading_icon_containerTff7b72.Td2a8ffchildren
Tff7b72else Tb4b4b4(
Ta5d6ff"Ta5d6ff8dpTa5d6ff"
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffleading_icon_containerTff7b72.Td2a8ffchildrenTb4b4b4[
T79c0ff0
Tb4b4b4]Tff7b72.Td2a8ffsource
Tff7b72else Ta5d6ff"Ta5d6ff4dpTa5d6ff"
Tb4b4b4)Tb4b4b4,
T79c0ff0Tb4b4b4,
Ta5d6ff"Ta5d6ff16dpTa5d6ff"
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8fftrailing_icon_containerTff7b72.Td2a8ffchildren
Tff7b72else Ta5d6ff"Ta5d6ff8dpTa5d6ff"Tb4b4b4,
T79c0ff0Tb4b4b4,
Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4[Te6edf3valueTb4b4b4]

Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Te6edf3adjust_paddingTb4b4b4)

Tff7b72def Td2a8ffon_activeTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3instance_checkTb4b4b4, Te6edf3active_valueTb4b4b4: Tffa657boolTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""Called when the values of :attr:`active` change."""

Tff7b72if Te6edf3active_valueTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_current_md_bg_color Tff7b72= Tff7b72selfTff7b72.Td2a8ffmd_bg_color

Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcomplete_anim_rippleTb4b4b4, T79c0ff0.5Tb4b4b4)

Tff7b72def Td2a8ffcomplete_anim_rippleTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""Called at the end of the ripple animation."""

Tff7b72if Tff7b72selfTff7b72.Td2a8ffactiveTb4b4b4:
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffleading_icon_containerTff7b72.Td2a8ffchildrenTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8fftype Tff7b72== Ta5d6ff"Ta5d6fffilterTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffadd_marked_icon_to_chipTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffset_chip_bg_colorTb4b4b4(
Tff7b72selfTff7b72.Td2a8ffselected_color
Tff7b72if Tff7b72selfTff7b72.Td2a8ffselected_color
Tff7b72else Tff7b72selfTff7b72.Td2a8fftheme_clsTff7b72.Td2a8ffprimary_color
Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72if Tb4b4b4(
Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffleading_icon_containerTff7b72.Td2a8ffchildren
Tff7b72and Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffleading_icon_containerTff7b72.Td2a8ffchildrenTb4b4b4[T79c0ff0Tb4b4b4]Tff7b72.Td2a8fficon Tff7b72== Ta5d6ff"Ta5d6ffcheckTa5d6ff"
Tb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8fftype Tff7b72== Ta5d6ff"Ta5d6fffilterTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffremove_marked_icon_from_chipTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffset_chip_bg_colorTb4b4b4(Tff7b72selfTff7b72.Td2a8ff_current_md_bg_colorTb4b4b4)

Tff7b72def Td2a8ffremove_marked_icon_from_chipTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72def Td2a8ffremove_marked_icon_from_chipTb4b4b4(Tff7b72*Te6edf3argsTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffleading_icon_containerTff7b72.Td2a8ffclear_widgetsTb4b4b4(Tb4b4b4)

Tff7b72if Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffleading_icon_containerTff7b72.Td2a8ffchildrenTb4b4b4:
Te6edf3anim Tff7b72= Te6edf3AnimationTb4b4b4(Te6edf3scale_value_xTff7b72=T79c0ff0Tb4b4b4, Te6edf3scale_value_yTff7b72=T79c0ff0Tb4b4b4, Te6edf3dTff7b72=T79c0ff0.2Tb4b4b4)
Te6edf3animTff7b72.Td2a8ffbindTb4b4b4(Te6edf3on_completeTff7b72=Te6edf3remove_marked_icon_from_chipTb4b4b4)
Te6edf3animTff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffleading_icon_containerTff7b72.Td2a8ffchildrenTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)
Te6edf3AnimationTb4b4b4(
Te6edf3paddingTff7b72=Tb4b4b4[Te6edf3dpTb4b4b4(T79c0ff16Tb4b4b4)Tb4b4b4, T79c0ff0Tb4b4b4, Te6edf3dpTb4b4b4(T79c0ff16Tb4b4b4)Tb4b4b4, T79c0ff0Tb4b4b4]Tb4b4b4,
Te6edf3spacingTff7b72=T79c0ff0Tb4b4b4,
Te6edf3dTff7b72=T79c0ff0.2Tb4b4b4,
Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)

Tff7b72def Td2a8ffadd_marked_icon_to_chipTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""Adds and animates a check icon to the chip."""

Te6edf3icon_check Tff7b72= Te6edf3MDChipLeadingIconTb4b4b4(
Te6edf3iconTff7b72=Ta5d6ff"Ta5d6ffcheckTa5d6ff"Tb4b4b4,
Te6edf3pos_hintTff7b72=Tb4b4b4{Ta5d6ff"Ta5d6ffcenter_yTa5d6ff"Tb4b4b4: T79c0ff0.5Tb4b4b4}Tb4b4b4,
Te6edf3font_sizeTff7b72=Te6edf3dpTb4b4b4(T79c0ff18Tb4b4b4)Tb4b4b4,
Te6edf3scale_value_xTff7b72=T79c0ff0Tb4b4b4,
Te6edf3scale_value_yTff7b72=T79c0ff0Tb4b4b4,
Tb4b4b4)
Te6edf3icon_checkTff7b72.Td2a8ffbindTb4b4b4(
Te6edf3on_pressTff7b72=Tff7b72selfTff7b72.Td2a8ff_set_allow_chip_rippleTb4b4b4,
Te6edf3on_releaseTff7b72=Tff7b72selfTff7b72.Td2a8ff_set_allow_chip_rippleTb4b4b4,
Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffleading_icon_containerTff7b72.Td2a8ffadd_widgetTb4b4b4(Te6edf3icon_checkTb4b4b4)
T8b949e# Animating the scale of the icon.
Te6edf3AnimationTb4b4b4(Te6edf3scale_value_xTff7b72=T79c0ff1Tb4b4b4, Te6edf3scale_value_yTff7b72=T79c0ff1Tb4b4b4, Te6edf3dTff7b72=T79c0ff0.2Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Te6edf3icon_checkTb4b4b4)
T8b949e# Animating the padding of the chip.
Te6edf3AnimationTb4b4b4(
Te6edf3paddingTff7b72=Tb4b4b4[Te6edf3dpTb4b4b4(T79c0ff18Tb4b4b4)Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff0Tb4b4b4]Tb4b4b4,
Te6edf3spacingTff7b72=Te6edf3dpTb4b4b4(T79c0ff18Tb4b4b4) Tff7b72if Tff7b72selfTff7b72.Td2a8fftype Tff7b72== Ta5d6ff"Ta5d6fffilterTa5d6ff" Tff7b72else T79c0ff0Tb4b4b4,
Te6edf3dTff7b72=T79c0ff0.2Tb4b4b4,
Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)

Tff7b72def Td2a8ffset_chip_bg_colorTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3colorTb4b4b4: Tffa657list Tff7b72| Tffa657strTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""Animates the background color of the chip."""

Tff7b72if Te6edf3colorTb4b4b4:
Te6edf3AnimationTb4b4b4(Te6edf3md_bg_colorTff7b72=Te6edf3colorTb4b4b4, Te6edf3dTff7b72=T79c0ff0.2Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_anim_complete Tff7b72= Tff7b72not Tff7b72selfTff7b72.Td2a8ff_anim_complete

Tff7b72def Td2a8ffon_pressTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffactiveTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffactive Tff7b72= Tff7b72False

Tff7b72def Td2a8ffadd_widgetTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3widgetTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4, Tff7b72*Tff7b72*Te6edf3kwargsTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffadd_icon_leading_trailingTb4b4b4(Te6edf3containerTb4b4b4)Tb4b4b4:
Tff7b72if Tffa657lenTb4b4b4(Te6edf3containerTff7b72.Td2a8ffchildrenTb4b4b4)Tb4b4b4:
Te6edf3type_icon Tff7b72= Tb4b4b4(
Ta5d6ff"Ta5d6ff'Ta5d6ffleadingTa5d6ff'Ta5d6ff"
Tff7b72if Tffa657isinstanceTb4b4b4(
Te6edf3widgetTb4b4b4, Tb4b4b4(Te6edf3MDChipLeadingIconTb4b4b4, Te6edf3MDChipLeadingAvatarTb4b4b4)
Tb4b4b4)
Tff7b72else Ta5d6ff"Ta5d6ff'Ta5d6fftrailingTa5d6ff'Ta5d6ff"
Tb4b4b4)
Te6edf3LoggerTff7b72.Td2a8ffwarningTb4b4b4(
Ta5d6fffTa5d6ff"Ta5d6ffKivyMD: Ta5d6ff"
Ta5d6fffTa5d6ff"Ta5d6ffDo not use more than one Tffd700{Te6edf3type_iconTffd700}Ta5d6ff icon. Ta5d6ff"
Ta5d6fffTa5d6ff"Ta5d6ffThis is contrary to the material design rules Ta5d6ff"
Ta5d6fffTa5d6ff"Ta5d6ffof version 3Ta5d6ff"
Tb4b4b4)
Tff7b72return
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3widgetTb4b4b4, Te6edf3MDChipTrailingIconTb4b4b4) Tff7b72and Tff7b72selfTff7b72.Td2a8fftype Tff7b72in Tb4b4b4[
Ta5d6ff"Ta5d6ffassistTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffsuggestionTa5d6ff"Tb4b4b4,
Tb4b4b4]Tb4b4b4:
Te6edf3LoggerTff7b72.Td2a8ffwarningTb4b4b4(
Ta5d6fffTa5d6ff"Ta5d6ffKivyMD: Ta5d6ff"
Ta5d6fffTa5d6ff"Ta5d6ffAccording to the material design standards of version Ta5d6ff"
Ta5d6fffTa5d6ff"Ta5d6ff3, do not use the trailing icon for an Ta5d6ff'Tffd700{Tff7b72selfTff7b72.Td2a8fftypeTffd700}Ta5d6ff'Ta5d6ff Ta5d6ff"
Ta5d6fffTa5d6ff"Ta5d6fftype chip.Ta5d6ff"
Tb4b4b4)
Tff7b72return
Tff7b72if Tb4b4b4(
Tffa657isinstanceTb4b4b4(Te6edf3widgetTb4b4b4, Te6edf3MDChipTrailingIconTb4b4b4)
Tff7b72and Tff7b72selfTff7b72.Td2a8fftype Tff7b72== Ta5d6ff"Ta5d6fffilterTa5d6ff"
Tff7b72and Te6edf3DEVICE_TYPE Tff7b72== Ta5d6ff"Ta5d6ffmobileTa5d6ff"
Tb4b4b4)Tb4b4b4:
Te6edf3LoggerTff7b72.Td2a8ffwarningTb4b4b4(
Ta5d6ff"Ta5d6ffKivyMD: Ta5d6ff"
Ta5d6ff"Ta5d6ffAccording to the material design standards of version 3, Ta5d6ff"
Ta5d6ff"Ta5d6ffonly on desktop computers and tablets, filter chips can Ta5d6ff"
Ta5d6ff"Ta5d6ffcontain a finishing icon for directly removing the chip Ta5d6ff"
Ta5d6ff"Ta5d6ffor opening the options menu.Ta5d6ff"
Tb4b4b4)
Tff7b72return
Tff7b72if Tb4b4b4(
Tffa657isinstanceTb4b4b4(Te6edf3widgetTb4b4b4, Tb4b4b4(Te6edf3MDChipLeadingIconTb4b4b4, Te6edf3MDChipLeadingAvatarTb4b4b4)Tb4b4b4)
Tff7b72and Tff7b72selfTff7b72.Td2a8fftype Tff7b72== Ta5d6ff"Ta5d6fffilterTa5d6ff"
Tb4b4b4)Tb4b4b4:
Te6edf3LoggerTff7b72.Td2a8ffwarningTb4b4b4(
Ta5d6ff"Ta5d6ffKivyMD: Ta5d6ff"
Ta5d6ff"Ta5d6ffAccording to the material design standards of version 3, Ta5d6ff"
Ta5d6ff"Ta5d6ffit is better not to use a leading icon for a Ta5d6ff'Ta5d6fffilterTa5d6ff'Ta5d6ff Ta5d6ff"
Ta5d6ff"Ta5d6fftype chip.Ta5d6ff"
Tb4b4b4)
Tff7b72if Tb4b4b4(
Tffa657isinstanceTb4b4b4(Te6edf3widgetTb4b4b4, Te6edf3MDChipLeadingAvatarTb4b4b4)
Tff7b72and Tff7b72selfTff7b72.Td2a8fftype Tff7b72== Ta5d6ff"Ta5d6ffsuggestionTa5d6ff"
Tb4b4b4)Tb4b4b4:
Te6edf3LoggerTff7b72.Td2a8ffwarningTb4b4b4(
Ta5d6ff"Ta5d6ffKivyMD: Ta5d6ff"
Ta5d6ff"Ta5d6ffAccording to the material design standards of version 3, Ta5d6ff"
Ta5d6ff"Ta5d6ffit is better not to use a leading avatar for a Ta5d6ff"
Ta5d6ff"Ta5d6ff'Ta5d6ffsuggestionTa5d6ff'Ta5d6ff type chip.Ta5d6ff"
Tb4b4b4)
Tff7b72return

Te6edf3widgetTff7b72.Td2a8ffbindTb4b4b4(
Te6edf3on_pressTff7b72=Tff7b72selfTff7b72.Td2a8ff_set_allow_chip_rippleTb4b4b4,
Te6edf3on_releaseTff7b72=Tff7b72selfTff7b72.Td2a8ff_set_allow_chip_rippleTb4b4b4,
Tb4b4b4)
Te6edf3widgetTff7b72.Td2a8ffpos_hint Tff7b72= Tb4b4b4{Ta5d6ff"Ta5d6ffcenter_yTa5d6ff"Tb4b4b4: T79c0ff0.5Tb4b4b4}
Tff7b72selfTff7b72.Td2a8ffpadding Tff7b72= Tb4b4b4(Ta5d6ff"Ta5d6ff8dpTa5d6ff"Tb4b4b4, T79c0ff0Tb4b4b4, Ta5d6ff"Ta5d6ff8dpTa5d6ff"Tb4b4b4, T79c0ff0Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffspacing Tff7b72= Tb4b4b4(
Ta5d6ff"Ta5d6ff8dpTa5d6ff"
Tff7b72if Tffa657isinstanceTb4b4b4(
Te6edf3widgetTb4b4b4,
Tb4b4b4(
Te6edf3MDChipLeadingIconTb4b4b4,
Te6edf3MDChipLeadingAvatarTb4b4b4,
Te6edf3MDChipTrailingIconTb4b4b4,
Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Tff7b72else T79c0ff0
Tb4b4b4)
Te6edf3containerTff7b72.Td2a8ffadd_widgetTb4b4b4(Te6edf3widgetTb4b4b4)

Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3widgetTb4b4b4, Te6edf3MDChipTextTb4b4b4)Tb4b4b4:
Te6edf3widgetTff7b72.Td2a8ffadaptive_size Tff7b72= Tff7b72True
Te6edf3widgetTff7b72.Td2a8ffpos_hint Tff7b72= Tb4b4b4{Ta5d6ff"Ta5d6ffcenter_yTa5d6ff"Tb4b4b4: T79c0ff0.5Tb4b4b4}
Tff7b72if Tff7b72selfTff7b72.Td2a8fftype Tff7b72== Ta5d6ff"Ta5d6ffsuggestionTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffpadding Tff7b72= Tb4b4b4(Ta5d6ff"Ta5d6ff16dpTa5d6ff"Tb4b4b4, T79c0ff0Tb4b4b4, Ta5d6ff"Ta5d6ff16dpTa5d6ff"Tb4b4b4, T79c0ff0Tb4b4b4)
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(
Tff7b72lambda Te6edf3xTb4b4b4: Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8fflabel_containerTff7b72.Td2a8ffadd_widgetTb4b4b4(Te6edf3widgetTb4b4b4)
Tb4b4b4)
Tff7b72elif Tffa657isinstanceTb4b4b4(Te6edf3widgetTb4b4b4, Tb4b4b4(Te6edf3MDChipLeadingIconTb4b4b4, Te6edf3MDChipLeadingAvatarTb4b4b4)Tb4b4b4)Tb4b4b4:
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(
Tff7b72lambda Te6edf3xTb4b4b4: Te6edf3add_icon_leading_trailingTb4b4b4(
Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8ffleading_icon_container
Tb4b4b4)
Tb4b4b4)
Tff7b72elif Tffa657isinstanceTb4b4b4(Te6edf3widgetTb4b4b4, Te6edf3MDChipTrailingIconTb4b4b4)Tb4b4b4:
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(
Tff7b72lambda Te6edf3xTb4b4b4: Te6edf3add_icon_leading_trailingTb4b4b4(
Tff7b72selfTff7b72.Td2a8ffidsTff7b72.Td2a8fftrailing_icon_container
Tb4b4b4)
Tb4b4b4)
Tff7b72elif Tffa657isinstanceTb4b4b4(
Te6edf3widgetTb4b4b4,
Tb4b4b4(Te6edf3LabelTextContainerTb4b4b4, Te6edf3LeadingIconContainerTb4b4b4, Te6edf3TrailingIconContainerTb4b4b4)Tb4b4b4,
Tb4b4b4)Tb4b4b4:
Tff7b72return Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffadd_widgetTb4b4b4(Te6edf3widgetTb4b4b4)

Tff7b72def Td2a8ff_set_allow_chip_rippleTb4b4b4(
Tff7b72selfTb4b4b4, Te6edf3instanceTb4b4b4: Te6edf3MDChipLeadingIcon Tff7b72| Te6edf3MDChipTrailingIcon
Tb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ff_allow_chip_ripple Tff7b72= Tff7b72not Tff7b72selfTff7b72.Td2a8ff_allow_chip_ripple


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────